前端准备 内容 概述 目录结构 目录解释 SPA post-it例子 URL定义 概述 查看org.adempiere.ui.zk\WEB-INF\src,共45464行,共152文件 目录结构 如下图所示 前端目录结构 目录解释 window:存放弹出式window对象,extends Window (org.zkoss.zul.Window, \component\Window.java),比如常见的工具栏按钮弹出的窗口 adwindow:SPA的主要对象,由页签、菜单栏、面包屑、状态栏、导航条、单记录布局(网格布局)构成,extends AbstractUIPart (AbstractUIPart.java >>UIPart,\webui\part.java)。其窗口内的内容由ADWindowContent (>>AbstractADWindowContent)组成(与org.compiere.apps.APanel类似)。 panel:窗口内的panel对象,比如,登录panel,属性窗口的panel part:内容容器对象,AbstractUIPart.java >>UIPart grid:供快速录入的小窗口,比如快速录入业务伙伴 minigrid:窗口内的小网格UI对象,比如拷贝明细清单的grid对象 component:所有zk UI对象的封装 editor:不同字段类型的UI对象,比如文本、数字、日期、地点、资源分配等 factory:UI对象工厂 app:UI的应用分类目录,包含 form,wf(工作流),graph(图标类)UI应用,实际也包含如下应用: desktop:系统的工作台 info:系统的info window acct:系统的账户查看form dashboard:系统的桌面仪表盘 report:系统报表界面 SPA iDempiere是一个典型的SPA(Single Page Application)的企业应用。 1. 只有一个 indexl.zul来寻址。 2. 登录后就是desktop.zul,你看到东南西北几个区。 3. 中间部分就是adwindow-tab-toolbar-body-detail,其中body有单记录布局和网格布局。 4. 有些特殊的Form,infowindow,process/report,viewer布局对象app。 5. 弹出一些window,比如 chat, post-it。 6. view和control都在一起,没有分离,前端很痛苦。 post-it例子 post-it是便签应用,通过在工具栏添加一个按钮,任何有主键的表的记录都可以添加一条便签记录。 查看commit提交看如何完成这个功能。 实际效果 commit 文件 URL定义 http://kubotti.hatenablog.com/entry/2016/03/09/172506